#ifndef TRIANGLE_H
#define TRIANGLE_H

#include <vector>
#include <cmath>
#include "point.h"
#include "ligne.h"

using namespace std;
//
// Definition de la classe Triangle (entetes)
//
class Triangle
{
    Point p1,p2,p3;
    vector<Ligne> triangle_ligne;
  
  public:
    
    // constructeurs
    Triangle(Point, Point, Point);
    Triangle();
  
    // pour re-initialisation
    void init(Point, Point, Point);

    // pour lecture
    void lecture();

    // pour obtenir les valeurs du Point
    int valX();
    int valY();
  
    // fonction pour la mise au Point
    void afficher(Canevas&);
    
    //Fonction pour faire tourner un Point autour d'un centre
    void rotation(Point centre, double angleRadian);
  
    // fonction pour deplacer un Point en absolu.  Les parametres sont des
    // deplacement par rapport a la position courante.
    void deplacement(int deltaX, int deltaY);
  
    // fonction pour deplacer un Point proportionnellement a un centre.  
    // Les parametres sont le Point de reference un la proportion du deplacement
    void modif_taille(Point ancre, float proportion);

    Point val_P1();
    Point val_P2();
    Point val_P3();

  private :
    void genere_ligne();

   
};
#endif
